/**************************
 * \if English
 * @Date:2018.09.10
 * @Author:
 * @Brief:
 * @Detail:
 * @Editor:
 * @Brief:
 * \else
 *
 * @创建日期：2018年9月10日
 * @作者：hualei
 * @大概功能：MUSIC 指令
**************************/
#ifndef MUSICINSTRUCTION_H
#define MUSICINSTRUCTION_H

#include "instructionEnum.h"
#include <QDataStream>


/**
 * @brief The MusicInstruction class            从数据流中获取或写入指令参数
 */
class MusicInstruction
{
public:
    /**
     * @brief MusicInstruction      构造函数
     */
    MusicInstruction();

    /**
     * @brief operator <<   向数据流中写入指令参数
     * @param out           写入数据流
     * @param myVector      指令对象
     * @return
     */
    friend QDataStream& operator << (QDataStream &out, MusicInstruction &myVertor);

    /**
     * @brief operator >>       向数据流中读取指令参数
     * @param in                读取数据流
     * @param myVector           指令对象
     * @return
     */
    friend QDataStream& operator >> (QDataStream &in, MusicInstruction &myVertor);

public:
    /**
     * @brief instructionType           指令类型
     */
    INSTRUCTION_TYPE instructionType;

    /**
     * @brief musicFileName             音乐文件名
     */
    QString musicFileName;

    /**
     * @brief musicPlayTimes            播放次数
     */
    int musicPlayTimes;

    /**
     * @brief musicVolume               播放音量
     */
    int musicVolume;

    /**
     * @brief noteStr                   注释
     */
    QString noteStr;

};

#endif // MUSICINSTRUCTION_H
